<?php
include_once '../gerenciadores/AutoloadGerenciadores.php';

class RepositorioHistoricoEscolar{
	private $instancia;
	
	private function __construct(){
	}
	
	private function __destruct(){
	}
	
	public static function getInstancia(){
		if(!isset(self::$instancia)){
			$classe = __CLASS__;
			self::$instancia = new $classe;
		}
		return self::$instancia;
	}
	
	public static function exibeHistoricoEscolarAluno(Pessoa $pessoa){
		$sql = "SELECT tnotas.nota, tnotas.avaliacao, tdisciplina.disciplina, tdisciplina.iddisciplina, 
				tdisciplina.sigla, tdisciplina.cargahoraria, tcursos.siglacurso, 
				tcursos.nomecurso, tcursos.idcurso, tturma.turma, tturma.datainicio, 
				tturma.datafim 
				FROM tnotas 
				INNER JOIN tdisciplina ON (tdisciplina.iddisciplina = tnotas.iddisciplina) 
				INNER JOIN tcursos ON (tcursos.idcurso = tdisciplina.idcurso) 
				INNER JOIN tcadastro ON (tnotas.idpessoa=tcadastro.idpessoa AND tcursos.idcurso) 
				INNER JOIN tturma ON (tcadastro.idturma = tturma.idturma) 
				WHERE tnotas.idpessoa = '".$pessoa->getIdPessoa()."';";
	

		__autoload("Conexao");
		$tabela = Conexao::tabelaSql($sql);
		
		__autoload("HistoricoEscolar");
		
			
		foreach ($tabela as $notas){
			
			$curso = new Curso();
			$curso->setNomeCurso($notas['nomecurso']);
			$curso->setSiglaCurso($notas['siglacurso']);
			
			$historico[$curso->getIdCurso()] = new HistoricoEscolar($pessoa);
			$disciplina = new Disciplina();
			$disciplina->setCargaHoraria($notas['cargahoraria']);
			$disciplina->setSiglaDisciplina($notas['sigla']);
			$disciplina->setNomeDisciplina($notas['disciplina']);
			$disciplina->setIdDisciplina($notas['iddisciplina']);
			$disciplina->setCurso($curso);
			
			$nota = new Nota($notas["nota"], $notas['avaliacao'], $pessoa);
			$nota->setDisciplina($disciplina);
			
			$historico[$curso->getIdCurso()]->adicionaNota($nota);
		}
		return $historico;
		
	}
	
}

?>